package com.x.Part4_抽象类.模板方法;

/**
 * ClassName: Template
 * Package: IntelliJ IDEA
 * Description:模板方法-设计模式
 * Written by HanXu
 * Create 2024.03.04 20:47
 */


//Description:模板方法-设计模式
public abstract class Template {

    //计算code()运行的时间
    public void spendTime(){
        long startTime = System.currentTimeMillis();
        code();
        long endTime = System.currentTimeMillis();

        System.out.println("time spent: " + (endTime - startTime) + "ms");
    }

    public abstract void code();
}


//子类必须继承所有抽象父类的抽象方法，否则子类还是得是抽象类
class printNumbers extends Template{
    @Override
    public void code() {
        for (int i = 0; i < 1000; i++)
            System.out.println(i);
    }
}
